﻿using JESAI.Application.Abstractions.Admin.Dtos.Role;
using JESAI.Application.Abstractions.Admin.Dtos.RoleApi;
using JESAI.Application.Abstractions.Admin.Dtos.RoleMenu;
using JESAI.Application.Abstractions.Dtos;
using JESAI.Application.Abstractions.Sys.Dtos;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace JESAI.Application.Abstractions.Admin
{
    public interface IRoleService
    {
        List<RoleDto> QueryAllRoles(QueryRolesInput input);
        BasePageOutput<List<QueryRoleDto>> QueryRoles(QueryRolesPageInput input);
        RoleDto QueryRoleInfo(int roleId);
        List<RoleApiDto> QueryApiByRoleId(int roleId);
        List<RoleMenuDto> QueryMenuByRoleId(int roleId);
        void UpdateOrInsert(SetRoleInput input);

        void DeleteRole(long roleId);
        void DeleteRoles(long[] roleId);
    }
}
